import os


#2021-07-29 10:21 用于显示BMP文件中的二进制数据
#1.先使用ps制造一个4*2像素的bmp文件，
#   目前使用的图片为第一行红绿蓝黑，
#   第二行为蓝红黑绿。
#2.使用Python显示2进制数据，见[A1]、[A2]


#------解析BMP文件至2进制格式。
BMP_PATH='./test-0.bmp'
OUT_PATH='./bmp_test-0.txt'
bmp_file=open(BMP_PATH,'rb')
bmp_content=bmp_file.read()
bmp_file.close()
print("bmp_content=",bmp_content)   # [A0]这种方式得到的2进制数据，显示时会有些问题。见[A1]、[A2]
for i in bmp_content:
    print(f"bmp_content[{i}]=",hex(i))     # [A1]使用python显示BMP真正的2进制数据
print("-"*6)
for j in range(0,len(bmp_content)):
    print(f"bmp_content[{j}]=",hex(bmp_content[j]))  # [A2]使用python显示BMP真正的2进制数据，效果同[A1]
#------将解析完毕的2进制内容保存到.txt文件中。
output_file=open(OUT_PATH,'wb')
for i in bmp_content:
    bytes_change=bytes(hex(i)+' ',encoding="gbk")
    output_file.write(bytes_change)
output_file.close()

